package indzcraft.loader;

import java.util.Arrays;
import java.util.List;

public enum Slot {
    head(0, "head", true, Arrays.asList(1)),
    neck(1, "neck", false, Arrays.asList(2)),
    shoulder(2, "shoulder", true, Arrays.asList(3)),
    back(3, "back", true, Arrays.asList(16)),
    chest(4, "chest", true, Arrays.asList(5)),
    shirt(5, "shirt", false,  Arrays.asList(4)),
    tabard(6, "tabard", false, Arrays.asList(19)),
    wrist(7, "wrist", true, Arrays.asList(9)),
    hands(8, "hands", true, Arrays.asList(10)),
    waist(9, "waist", false, Arrays.asList(6)),
    legs(10, "legs", true, Arrays.asList(7)),
    feet(11, "feet", true, Arrays.asList(8)),
    finger1(12, "finger1", true, Arrays.asList(11)),
    finger2(13, "finger2", true, Arrays.asList(11)),
    trinket1(14, "trinket1", false, Arrays.asList(12)),
    trinket2(15, "trinket2", false, Arrays.asList(12)),
    mainHand(16, "mainHand", true, Arrays.asList(13,21)),
    offHand(17, "offHand", true, Arrays.asList(13,14,22));
    //ranged(18, "ranged", false, Arrays.asList(15,25,26));

    public static final Slot[] possibleSlots = new Slot[] {
        head, neck, shoulder, back, chest, shirt, tabard, wrist, hands, waist, legs, feet, finger1, finger2, trinket1, trinket2, mainHand, offHand//, ranged 
    };
    private final int index;
    private final String name;
    private final boolean enchantable;
    private final List<Integer> inventorySlots;

    private Slot(int index, String name, boolean enchantable, List<Integer> inventorySlots) {
        this.index = index;
        this.name = name;
        this.enchantable = enchantable;
        this.inventorySlots = inventorySlots;
    }

    public int getIndex() {
        return index;
    }

    public String getName() {
        return name;
    }

    public boolean isEnchantable() {
        return enchantable;
    }

	public List<Integer> getInventorySlots() {
		return inventorySlots;
	}
}
